The invention relates to the interface between a user and a computer.
The interface between a user and a computer is usually defined by the software application the user is running on the computer. That is, the command structure of the application defines how users initiate commands or choose options and how they respond to the computer's actions in order to manipulate data in the computer.
Some interfaces, however, are defined in part by a window manager such as Presentation Manager.RTM. as well as by the particular software application the user is running. The window manager provides support for areas of the screen, i.e., "windows", which in Presentation Manager.RTM. include "dialog box windows" and "controls". (Other applications use different terminology to refer to window elements.)
Some elements in the command structure pioneered in the Xerox Star.RTM. interface and popularized in the Apple Macintosh.RTM. interface are assigned a graphic object, referred to here as a control, which appears in a dialog box. In such an interface, when a user initiates a command, a dialog box appears and the user selects various controls to complete the command. For example, an oval "push button" indicates a command, e.g., "OK" to accept the contents of a dialog box or "Cancel" to escape from a dialog box. A circular "radio button" indicates one of a number of options which are usually mutually exclusive, e.g., one of a number of ways to align text. A square "check box" allows the user to toggle between options. A "list box" lists a plurality of options. And an "edit control box" allows the user to enter and edit text, e.g., a range of cells in a spreadsheet.
To issue a command, then, the user "selects" a control with a mouse, keyboard mnemonic, or similar device. For example, the user can use a mouse to position a cursor over a particular control and then click the mouse buttons to select the control. Or in some interfaces, e.g., Presentation Manager, the user can type a keyboard mnemonic, e.g., a letter of a label that identifies a control, to select the control.
In order for an application to be able to associate a mouse click in a some area of a computer screen or a keyboard mnemonic with a particular control, each control is associated with a control window and each control window is defined by its attributes, e.g., location, contents, state, etc. Each control window is in turn associated with a dialog box and its dialog box window.